/**
 * @file STL_Crypt_DES3.h
 * @author Derek Liu (yjkhtddx@sina.com)
 * @brief 
 * @version 0.1
 * @date 2021-05-11
 * 
 * @copyright Copyright Sci-Tech Laboratories (c) 2021
 * 
 */

#ifndef __STL_CRYPT_DES3_H__
#define __STL_CRYPT_DES3_H__

#include <string>

namespace STL
{
    std::string printf_openssl_version();
    std::string encrypt_des_ede3_cbc_pkcs5(std::string data, std::string key, std::string iv = "");
    std::string decrypt_des_ede3_cbc_pksc5(std::string data, std::string key, std::string iv = "");
    // int do_encrypt(const EVP_CIPHER *type, const unsigned char *intext, unsigned char *key, unsigned char *iv);
    // int do_decrypt(const EVP_CIPHER *type, unsigned char *key, unsigned char *iv);
    //     std::string des_cbc_pkcs5_decrypt(const std::string &cipherText, const std::string &key);
    //     std::string des_cbc_pkcs5_encrypt(const std::string &clearText, const std::string &key);
    //     std::string EncodeCBCDES3(const std::string &strKey, const std::string &strdata, unsigned char *cIV);
    //     std::string DecodeCBCDES3(const std::string &strKey, const std::string &strData, unsigned char *cIV);
}

#endif //__STL_CRYPT_DES3_H__
